package com.tongda.core.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import org.simpleframework.xml.Transient;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * 用户账单实体
 * 
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class DinerBill implements Serializable {
	private static final long serialVersionUID = 1L;

	private String billId;

	/**
	 * 预结
	 */
	private BigDecimal beforePay;

	/**
	 * 单号
	 */
	private String billNo;

	/**
	 * 账单状态
	 */
	private String billStatus;

	/**
	 * 账单类型
	 */
	private String billType;

	/**
	 * 开单时间
	 */
	private Date billTime;

	/**
	 * 折扣方案名称（包括折扣方案和任意打折）
	 */
	private String discountName;

	/**
	 * 其他菜类折扣描述（比如：酒水不打折、凉菜免费）
	 */
	private String dishesTypeDiscountDesc;

	/**
	 * 抹零设置
	 */
	private String molingMode;

	/**
	 * 任意打折
	 */
	private Integer discount;

	/**
	 * 发票金额
	 */
	private BigDecimal drawBillAmount;

	/**
	 * 是否开发票
	 */
	private String isDrawBill;

	/**
	 * 开发票公司名称
	 */
	private String company;

	/**
	 * 是否入厨
	 */
	private String isInKitchen;

	/**
	 * 是否抹零
	 */
	private String isMoling;

	/**
	 * 抹零金额
	 */
	private BigDecimal molingModeCost;

	/**
	 * 是否待叫
	 */
	private String isWaitCall;

	/**
	 * 最近一次催菜时间
	 */
	private Date lastUrgeTime;

	/**
	 * 损益
	 */
	private BigDecimal losseGain;

	/**
	 * 备注
	 */
	private String notes;

	private String reaId;

	private String cancelBillReason;

	/**
	 * 开台后是否调整到点菜页面
	 */
	@Transient
	private String isEnterDiancaiPage;

	/**
	 * 找零
	 */
	private BigDecimal oddChange;

	/**
	 * 餐台预定信息
	 */
	private String orderId;

	/**
	 * 菜品总价
	 */
	private BigDecimal oriCost;

	/**
	 * 其他折扣方案
	 */
	private String otherDisount;

	/**
	 * 结账时间
	 */
	private Date payTime;

	/**
	 * 人数
	 */
	private int peopleNum;

	/**
	 * 实收
	 */
	private BigDecimal realCost;

	/**
	 * 服务费
	 */
	private BigDecimal serviceChargeMoney;

	/**
	 * 消费合计
	 */
	private BigDecimal consumeCost;

	/**
	 * 优惠金额
	 */
	private BigDecimal saveCost;

	/**
	 * 预付押金
	 */
	private BigDecimal rateCost;

	/**
	 * 服务类型
	 */
	private String serviceChargeType;

	/**
	 * 桌位ID
	 */
	private Table table;

	/**
	 * 桌号
	 */
	private String tabNo;

	/**
	 * 整桌口味
	 */
	private String tasteIdArray;

	private String tasteNameArray;

	/**
	 * 忌口
	 */
	private String avoidfoodIdArray;

	private String avoidfoodNameArray;

	/**
	 * 辣度
	 */
	private int pungentLevel;

	/**
	 * 应收金额
	 */
	private BigDecimal payableCost;

	/**
	 * 待收金额
	 */
	private BigDecimal needMoney;

	/**
	 * 支付方式字符串
	 */
	private String payments;

	/**
	 * 最低消费
	 */
	@Transient
	private BigDecimal consumeLow;

	/**
	 * 催菜次数
	 */
	private int urgeNum;

	/**
	 * 增加积分
	 */
	@Transient
	private Integer addIntegral;

	/**
	 * 收银员
	 */
	private String cashierName;

	/**
	 * 服务员
	 */
	private String waiterName;

	/**
	 * 营销员
	 */
	private String salesmanName;

	private String salesmanId;

	private String oldTabId;

	private Employee createEmployee;

	private String cardNo;

	public String getCardNo() {
		return cardNo;
	}

	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}

	public DinerBill() {
	}

	public String getBillId() {
		return billId;
	}

	public void setBillId(String billId) {
		this.billId = billId;
	}

	public BigDecimal getBeforePay() {
		return beforePay;
	}

	public void setBeforePay(BigDecimal beforePay) {
		this.beforePay = beforePay;
	}

	public String getBillNo() {
		return billNo;
	}

	public void setBillNo(String billNo) {
		this.billNo = billNo;
	}

	public String getBillStatus() {
		return billStatus;
	}

	public void setBillStatus(String billStatus) {
		this.billStatus = billStatus;
	}

	public String getBillType() {
		return billType;
	}

	public void setBillType(String billType) {
		this.billType = billType;
	}

	public Date getBillTime() {
		return billTime;
	}

	public void setBillTime(Date billTime) {
		this.billTime = billTime;
	}

	public String getDiscountName() {
		return discountName;
	}

	public void setDiscountName(String discountName) {
		this.discountName = discountName;
	}

	public String getMolingMode() {
		return molingMode;
	}

	public void setMolingMode(String molingMode) {
		this.molingMode = molingMode;
	}

	public Integer getDiscount() {
		return discount;
	}

	public void setDiscount(Integer discount) {
		this.discount = discount;
	}

	public BigDecimal getDrawBillAmount() {
		return drawBillAmount;
	}

	public void setDrawBillAmount(BigDecimal drawBillAmount) {
		this.drawBillAmount = drawBillAmount;
	}

	public String getIsDrawBill() {
		return isDrawBill;
	}

	public void setIsDrawBill(String isDrawBill) {
		this.isDrawBill = isDrawBill;
	}

	public String getCompany() {
		return company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	public String getIsInKitchen() {
		return isInKitchen;
	}

	public void setIsInKitchen(String isInKitchen) {
		this.isInKitchen = isInKitchen;
	}

	public String getIsMoling() {
		return isMoling;
	}

	public void setIsMoling(String isMoling) {
		this.isMoling = isMoling;
	}

	public BigDecimal getMolingModeCost() {
		return molingModeCost;
	}

	public void setMolingModeCost(BigDecimal molingModeCost) {
		this.molingModeCost = molingModeCost;
	}

	public String getIsWaitCall() {
		return isWaitCall;
	}

	public void setIsWaitCall(String isWaitCall) {
		this.isWaitCall = isWaitCall;
	}

	public Date getLastUrgeTime() {
		return lastUrgeTime;
	}

	public void setLastUrgeTime(Date lastUrgeTime) {
		this.lastUrgeTime = lastUrgeTime;
	}

	public BigDecimal getLosseGain() {
		return losseGain;
	}

	public void setLosseGain(BigDecimal losseGain) {
		this.losseGain = losseGain;
	}

	public String getNotes() {
		return notes;
	}

	public void setNotes(String notes) {
		this.notes = notes;
	}

	public String getReaId() {
		return reaId;
	}

	public void setReaId(String reaId) {
		this.reaId = reaId;
	}

	public String getCancelBillReason() {
		return cancelBillReason;
	}

	public void setCancelBillReason(String cancelBillReason) {
		this.cancelBillReason = cancelBillReason;
	}

	public String getIsEnterDiancaiPage() {
		return isEnterDiancaiPage;
	}

	public void setIsEnterDiancaiPage(String isEnterDiancaiPage) {
		this.isEnterDiancaiPage = isEnterDiancaiPage;
	}

	public BigDecimal getOddChange() {
		return oddChange;
	}

	public void setOddChange(BigDecimal oddChange) {
		this.oddChange = oddChange;
	}

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public BigDecimal getOriCost() {
		return oriCost;
	}

	public void setOriCost(BigDecimal oriCost) {
		this.oriCost = oriCost;
	}

	public String getOtherDisount() {
		return otherDisount;
	}

	public void setOtherDisount(String otherDisount) {
		this.otherDisount = otherDisount;
	}

	public Date getPayTime() {
		return payTime;
	}

	public void setPayTime(Date payTime) {
		this.payTime = payTime;
	}

	public int getPeopleNum() {
		return peopleNum;
	}

	public void setPeopleNum(int peopleNum) {
		this.peopleNum = peopleNum;
	}

	public BigDecimal getRealCost() {
		return realCost;
	}

	public void setRealCost(BigDecimal realCost) {
		this.realCost = realCost;
	}

	public BigDecimal getServiceChargeMoney() {
		return serviceChargeMoney;
	}

	public void setServiceChargeMoney(BigDecimal serviceChargeMoney) {
		this.serviceChargeMoney = serviceChargeMoney;
	}

	public BigDecimal getConsumeCost() {
		return consumeCost;
	}

	public void setConsumeCost(BigDecimal consumeCost) {
		this.consumeCost = consumeCost;
	}

	public BigDecimal getSaveCost() {
		return saveCost;
	}

	public void setSaveCost(BigDecimal saveCost) {
		this.saveCost = saveCost;
	}

	public BigDecimal getRateCost() {
		return rateCost;
	}

	public void setRateCost(BigDecimal rateCost) {
		this.rateCost = rateCost;
	}

	public String getServiceChargeType() {
		return serviceChargeType;
	}

	public void setServiceChargeType(String serviceChargeType) {
		this.serviceChargeType = serviceChargeType;
	}

	public Table getTable() {
		return table;
	}

	public void setTable(Table table) {
		this.table = table;
	}

	public String getTabNo() {
		return tabNo;
	}

	public void setTabNo(String tabNo) {
		this.tabNo = tabNo;
	}

	public String getTasteIdArray() {
		return tasteIdArray;
	}

	public void setTasteIdArray(String tasteIdArray) {
		this.tasteIdArray = tasteIdArray;
	}

	public String getTasteNameArray() {
		return tasteNameArray;
	}

	public void setTasteNameArray(String tasteNameArray) {
		this.tasteNameArray = tasteNameArray;
	}

	public String getAvoidfoodIdArray() {
		return avoidfoodIdArray;
	}

	public void setAvoidfoodIdArray(String avoidfoodIdArray) {
		this.avoidfoodIdArray = avoidfoodIdArray;
	}

	public String getAvoidfoodNameArray() {
		return avoidfoodNameArray;
	}

	public void setAvoidfoodNameArray(String avoidfoodNameArray) {
		this.avoidfoodNameArray = avoidfoodNameArray;
	}

	public int getPungentLevel() {
		return pungentLevel;
	}

	public void setPungentLevel(int pungentLevel) {
		this.pungentLevel = pungentLevel;
	}

	public BigDecimal getPayableCost() {
		return payableCost;
	}

	public void setPayableCost(BigDecimal payableCost) {
		this.payableCost = payableCost;
	}

	public BigDecimal getNeedMoney() {
		return needMoney;
	}

	public void setNeedMoney(BigDecimal needMoney) {
		this.needMoney = needMoney;
	}

	public String getPayments() {
		return payments;
	}

	public void setPayments(String payments) {
		this.payments = payments;
	}

	public BigDecimal getConsumeLow() {
		return consumeLow;
	}

	public void setConsumeLow(BigDecimal consumeLow) {
		this.consumeLow = consumeLow;
	}

	public int getUrgeNum() {
		return urgeNum;
	}

	public void setUrgeNum(int urgeNum) {
		this.urgeNum = urgeNum;
	}

	public Integer getAddIntegral() {
		return addIntegral;
	}

	public void setAddIntegral(Integer addIntegral) {
		this.addIntegral = addIntegral;
	}

	public String getCashierName() {
		return cashierName;
	}

	public void setCashierName(String cashierName) {
		this.cashierName = cashierName;
	}

	public String getWaiterName() {
		return waiterName;
	}

	public void setWaiterName(String waiterName) {
		this.waiterName = waiterName;
	}

	public String getSalesmanName() {
		return salesmanName;
	}

	public void setSalesmanName(String salesmanName) {
		this.salesmanName = salesmanName;
	}

	public String getOldTabId() {
		return oldTabId;
	}

	public void setOldTabId(String oldTabId) {
		this.oldTabId = oldTabId;
	}

	public Employee getCreateEmployee() {
		return createEmployee;
	}

	public void setCreateEmployee(Employee createEmployee) {
		this.createEmployee = createEmployee;
	}

	public String getDishesTypeDiscountDesc() {
		return dishesTypeDiscountDesc;
	}

	public void setDishesTypeDiscountDesc(String dishesTypeDiscountDesc) {
		this.dishesTypeDiscountDesc = dishesTypeDiscountDesc;
	}

	public String getSalesmanId() {
		return salesmanId;
	}

	public void setSalesmanId(String salesmanId) {
		this.salesmanId = salesmanId;
	}

}